package com.tiger.cloud.model.crm;

import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;

import com.tiger.cloud.common.mybatis.TigerBaseEntity;
import com.tiger.cloud.enums.DeleteEnum;
import com.tiger.cloud.enums.UserGender;
import com.tiger.cloud.enums.UserInfoJobType;
import com.tiger.cloud.enums.UserInfoMarriageType;
import com.tiger.cloud.enums.UserInfoPosition;
import com.tiger.cloud.enums.UserInfoWorkPeriod;

import io.swagger.annotations.ApiModelProperty;
/**
 * 
 * crm_user_info-用户详细信息
 *
 */
public class UserInfo extends TigerBaseEntity{

	private static final long serialVersionUID = 1L;
    
	/**
	 * 所属用户
	 */
	@ApiModelProperty(value = "所属用户")
    private Long userId;
	/**
	 * 积分
	 */
	@ApiModelProperty(value = "积分")
    private Integer integral;
	/**
	 * 
	 */
	@ApiModelProperty(value = "昵称")
    private String nickName;
	/**
	 * 姓名
	 */
	@ApiModelProperty(value = "姓名")
    private String userName;
	/**
	 * 
	 */
	@ApiModelProperty(value = "手机号")
    private String mobile;
	/**
	 * 微信
	 */
	@ApiModelProperty(value = "微信")
    private String weiXin;
	/**
	 * 头像
	 */
	@ApiModelProperty(value = "头像")
    private String headImage;
	/**
	 * 年龄
	 */
	@ApiModelProperty(value = "年龄")
    private Integer age;
	/**
	 * 是否删除, 0:正常,1:删除
	 */
	@ApiModelProperty(hidden=true)
    private DeleteEnum isDelete;
	/**
	 * 所属区域  区ID
	 */
	@ApiModelProperty(value = "所属区域  区ID")
    private Long districtId;
	/**
	 * 所属区域  城市ID
	 */
	@ApiModelProperty(value = "所属区域  城市ID")
    private Long cityId;
	/**
	 * 所属区域  省ID
	 */
	@ApiModelProperty(value = "所属区域  省ID")
    private Long provinceId;
	/**
	 * 住址
	 */
	@ApiModelProperty(value = "住址")
    private String address;
	/**
	 * 性别   0:男，1:女
	 */
	@ApiModelProperty(value = "性别   0:男，1:女")
    private UserGender gender;
	/**
	 * 婚姻状况 0:未婚、1:已婚
	 */
	@ApiModelProperty(value = "婚姻状况 0:未婚、1:已婚")
    private UserInfoMarriageType marriage;
	/**
	 * 
	 */
	@ApiModelProperty(value = "创建时间")
    private Date createTime;
	/**
	 * 职位(多选)   0:业务、1:风控、2:催收、3:办公文员
	 */
	@ApiModelProperty(value = "职位(多选)   0:业务、1:风控、2:催收、3:办公文员")
    private UserInfoPosition position;
    /**
	 * 职务  0:老板, 1:小股东，2:主管, 3:职员
	 */
	@ApiModelProperty(value = "职务  0:老板, 1:小股东，2:主管, 3:职员")
    private UserInfoJobType job;
	/**
	 * 从业年限（同行）  0: <1、1:1~2、2:2~5、3:>5
	 */
	@ApiModelProperty(value = "从业年限（同行）  0: <1、1:1~2、2:2~5、3:>5")
    private UserInfoWorkPeriod workPeriod;
	/**
	 * 个人备注
	 */
	@ApiModelProperty(value = "个人备注")
    private String privateInfo;
	/**
	 * 个人图片
	 */
	@ApiModelProperty(value = "个人图片",notes="多张使用,分割")
    private String privateAttachment;
	/**
	 * 
	 */
	@ApiModelProperty(value = "最后更新时间")
    private Date lastUpdateTime;
    
    public UserInfoJobType getJob() {
		return job;
	}

	public void setJob(UserInfoJobType job) {
		this.job = job;
	}

	public UserInfo(){
    
    }
    
    public Long getUserId() {
        return this.userId;
    }
    
    public void setUserId(Long userId) {
        this.userId = userId;
    }
    public Integer getIntegral() {
        return this.integral;
    }
    
    public void setIntegral(Integer integral) {
        this.integral = integral;
    }
    public String getNickName() {
        return this.nickName;
    }
    
    public void setNickName(String nickName) {
        this.nickName = nickName;
    }
    public String getUserName() {
        return this.userName;
    }
    
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getMobile() {
        return this.mobile;
    }
    
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
    public String getWeiXin() {
        return this.weiXin;
    }
    
    public void setWeiXin(String weiXin) {
        this.weiXin = weiXin;
    }
    public String getHeadImage() {
        return this.headImage;
    }
    
    public void setHeadImage(String headImage) {
        this.headImage = headImage;
    }
    public Integer getAge() {
        return this.age;
    }
    
    public void setAge(Integer age) {
        this.age = age;
    }
    public DeleteEnum getIsDelete() {
        return this.isDelete;
    }
    
    public void setIsDelete(DeleteEnum isDelete) {
        this.isDelete = isDelete;
    }
    public Long getDistrictId() {
        return this.districtId;
    }
    
    public void setDistrictId(Long districtId) {
        this.districtId = districtId;
    }
    public Long getCityId() {
        return this.cityId;
    }
    
    public void setCityId(Long cityId) {
        this.cityId = cityId;
    }
    public Long getProvinceId() {
        return this.provinceId;
    }
    
    public void setProvinceId(Long provinceId) {
        this.provinceId = provinceId;
    }
    public String getAddress() {
        return this.address;
    }
    
    public void setAddress(String address) {
        this.address = address;
    }
    public UserGender getGender() {
        return this.gender;
    }
    
    public void setGender(UserGender gender) {
        this.gender = gender;
    }
    public UserInfoMarriageType getMarriage() {
        return this.marriage;
    }
    
    public void setMarriage(UserInfoMarriageType marriage) {
        this.marriage = marriage;
    }
    public Date getCreateTime() {
        return this.createTime;
    }
    
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public UserInfoPosition getPosition() {
        return this.position;
    }
    
    public void setPosition(UserInfoPosition position) {
        this.position = position;
    }
    public UserInfoWorkPeriod getWorkPeriod() {
        return this.workPeriod;
    }
    
    public void setWorkPeriod(UserInfoWorkPeriod workPeriod) {
        this.workPeriod = workPeriod;
    }
    public String getPrivateInfo() {
        return this.privateInfo;
    }
    
    public void setPrivateInfo(String privateInfo) {
        this.privateInfo = privateInfo;
    }
    public String getPrivateAttachment() {
        return this.privateAttachment;
    }
    
    public void setPrivateAttachment(String privateAttachment) {
        this.privateAttachment = privateAttachment;
    }
    public Date getLastUpdateTime() {
        return this.lastUpdateTime;
    }
    
    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = lastUpdateTime;
    }
    
	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}
}